<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 如果你访问对象的 不存在的属性，它不会报错，会返回undefined
    // 改进一下：
    //   如果属性不存在，则给出明确的提示（报错）

    var obj = {
      a: 1
    }

    var obj1 = new Proxy(obj, {
      get: function (target, prop) {
        // 如果当前要访问的属性prop 在 target中：
        // - 存在。 返回值
        // - 不存在，给出提示(报错)，再返回undefined

        // 如何知道一个属性prop在target中是否存在？
        if (prop in target) {
          return target[prop]
        } else {
          console.error('你访问的',prop,'属性在对象中不存在')
          return undefined
        }
      }
    })

    // console.log(obj.b + 100) // NaN
    console.log(obj1.b + 100) // NaN ，会带有错误提示

  </script>
</body>
</html>